<?php
header("content-type:text/html;charset=utf-8");


function upload($name = 'pic', $uploadpath){
        //1.判断错误
        if($_FILES[$name]['error'] > 0){
            return false;
        }

        //2.获取文件类型
        list($maintype, $subtype) = explode('/', $_FILES[$name]['type']);

        if($subtype == 'jpeg'){
            $subtype = 'jpg';
        }

        //3.限制上传的文件类型，只允许上传图片
        if($maintype != 'image'){
            return false;
        }

        //4.产生一个完美的文件名
        $filename = date('Y_m_d') . md5(uniqid()) . '.' . $subtype;

        //5.拼接完美图片路径
        $filepath = $uploadpath . $filename;

        //6.判断一下文件是不是HTTP POST过来的
        if(!is_uploaded_file($_FILES[$name]['tmp_name'])){
            return false;
        }

        //7.移动文件
        if(!move_uploaded_file( $_FILES[$name]['tmp_name'], $filepath )){
            return false;
        }

        return $filename;
    }

/*
     *  多文件上传函数
     *  @param string $name file表单中的name属性值
     *  @return stirng $filename
     */

    function multi_upload($name = 'pic', $uploadpath){
        $num = count($_FILES[$name]['name']);   //是统计表单个数，决定我的循环上传图片的次数

        //echo $num;exit;

        for($i=0; $i<$num; $i++):
        //1.判断错误
        if($_FILES[$name]['error'][$i] > 0){
           continue;
        }

        //2.获取文件类型
        list($maintype, $subtype) = explode('/', $_FILES[$name]['type'][$i]);

        if($subtype == 'jpeg'){
            $subtype = 'jpg';
        }

        //3.限制上传的文件类型，只允许上传图片
        if($maintype != 'image'){
            continue;
        }

        //4.产生一个完美的文件名
        $filename = date('Y_m_d') . md5(uniqid()) . '.' . $subtype;

        //5.拼接完美图片路径
        $filepath = $uploadpath . $filename;

        //6.判断一下文件是不是HTTP POST过来的
        if(!is_uploaded_file($_FILES[$name]['tmp_name'][$i])){
            continue;
        }

        //7.移动文件
        if(!move_uploaded_file( $_FILES[$name]['tmp_name'][$i], $filepath )){
            continue;
        }

        $fileNameArr[] = $filename; 



        endfor;

        return $fileNameArr;
    }


/*
     *  缩放函数
     *  @param string $path 图片所在路径
     *  @param string $name 图片名
     *  @param string $width
     *  @param string $height
     *  @return $newname 返回缩放后的文件名
     *
     */

    function simzoom($path, $name, $width=120, $height=120){
        //1.先获取原图的宽高
        //1.1  ./upload
        $path = rtrim($path, '/'); //擦掉右边的/，防止误操作
        
        $newpath = $path . '/' . $name;     //./upload/f1.jpg

        //echo $newpath;exit;
        

        //1.2
        list($srcwidth, $srcheight) = getimagesize($newpath);
		
		//获取图片前缀，按设置长边计算
        $size = $width > $height ? $width : $height ;  //处理前缀
        //2.处理等比缩放的问题
        if($width > $height){
            $height = $width / $srcwidth * $srcheight;
        }else{ 
            $width = $height / $srcheight * $srcwidth;
        }


        //3.创建图片资源
        //3.1 处理一下函数名的问题
        // imagecreatefromxxxx   imagexxxx   xxxx-jpeg xxxx-png xxxx-gif
        $fileparam = getimagesize($newpath);
        
        $type = $fileparam['mime'];

        list($maintype, $subtype) = explode('/', $type);

        //echo $maintype . '<br/>';
        //echo $subtype . '<br/>';

        //imagecreatefromxxxx
        $func_create = 'imagecreatefrom' . $subtype;

        //imagexxxx   保存图片的函数
        $func_image = 'image' . $subtype;
         

        //3.2创建图片资源
        //来源路径
        $src = $func_create($newpath);

        //目标图片路径
        $dst = imagecreatetruecolor($width, $height);

        //4.缩放的核心
        imagecopyresampled($dst, $src, 0,0, 0,0, $width, $height, $srcwidth,$srcheight);

        //5.保存图片
        //拼接新名字
        $newname = $size . '_' . $name;

        //拼接保存新图片的路径
        $smallpath = $path . '/' . $newname;

        //保存图片的核心部分
        if(!$func_image($dst, $smallpath)){
            return false;
        }

        
        //6.销毁
        imagedestroy($src);
        imagedestroy($dst);

        return $newname;

    }





//缩放函数(画布大小为指定大小，不足之处用颜色填充)

    /*  @param string $path 原图片路径
     *  @param string $name 图片名称
     *  @param int $width 缩放后宽度
     *  @param int $height 缩放后高度
     *  @param int $r $g $b 填充颜色的RGB值
     */   
    function zoom($path, $name, $width=120, $height=120, $r=255,$g=255,$b=255){
        //拼接完整路径
        $path = rtrim($path,'/');
        $newpath = $path . '/' . $name;

        //获取原图尺寸及格式
        list($srcwidth,$srcheight) = getimagesize($newpath);

        $temp = getimagesize($newpath);
        list($maintype,$subtype) = explode('/',$temp['mime']); 

        //计算被裁剪图片的大小
        if($width / $srcwidth * $srcheight > $height){
            $dstheight = $height;
            $dstwidth = $height / $srcheight * $srcwidth;
        }else{
            $dstheight = $width / $srcwidth * $srcheight;
            $dstwidth = $width;
        }

        //拼接函数并创建画布
        $create_from = 'imagecreatefrom'.$subtype;
        
        $src = $create_from($newpath);

        $dst = imagecreatetruecolor($width,$height);
        //定义颜色
        $color = imagecolorallocate($dst , $r,$g,$b);
        imagefill($dst,0,0,$color);

        //计算偏移量
        $x = ($width - $dstwidth) / 2;
        $y = ($height - $dstheight) / 2;

        //缩放核心代码
        imagecopyresampled($dst,$src, $x,$y, 0,0, $dstwidth,$dstheight, $srcwidth,$srcheight);

        //重新命名文件，并存储图片
        $size = $height >= $width ? $height : $width ;

        $newname = $size . '_' . $name;
        $savepath = $path . '/' . $newname; 

        $save = 'image' . $subtype;

        if(!$save($dst,$savepath)) return false;

        //销毁资源
        imagedestroy($src);
        imagedestroy($dst);

        return $newname;
    }







//注册登录弹出窗口
function jump($text,$num,$url){
	$str = <<<tag
<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <title>Login</title>
        <link rel="stylesheet" type="text/css" href="./css/style.css"> 
    </head>
    <body>
		<div id="login" class="w1">
			<div >
			<a href="index.php"><img src="./images/moonbasalogo1.jpg"/></a>
			</div>
			<div class="login_main jump mt10" style="text-align:center;">
				<div style="margin:0 auto;height:400px; width:500px;">
					<div style="margin-top:50px;text-align:center;height:150px;font:bold 30px 微软雅黑,黑体;color:#E50065;">
						$text
					</div>
					<div style="text-align:center;height:50px;font:bold 16px 微软雅黑,黑体;color:#E50065;">
						$num 秒后跳转到指定页
						<meta http-equiv="Refresh" content="$num;url=$url" />	
					</div>
					<div style="text-align:center;height:150px;font:bold 14px 微软雅黑,黑体;color:#E50065;">
						<a href="$url" >立即跳转</a>	
					</div>
				
				</div>
			</div>
			<!-- 这里设置login页面的对齐位置 -->
			<div class="login_footer">
				<!-- 这里直接引用主页上面的footer，稍作修改，继承属性 -->
				<div id="footer" class="mt20">
				<a href="#">首页</a>
				<a href="#">公司简介</a>
				<a href="#">旗下品牌</a>
				<a href="#">零售店址</a>
				<a href="#">梦芭莎网盟</a>
				<a href="#">网店代理</a>
				<a href="#">网站地图</a>
				<a href="#">友情链接</a>
				<br />
				<span>Copyright © 2010-2019 梦芭莎官方网站，广州摩拉网络科技有限公司 All Rights Reserved 粤B2-20080069号 </span>
			</div>
			</div>
		</div>
	</body>
</html>
	
tag;
	return $str;
}

//admin_jump 后台弹出窗口
function admin_jump($text,$num,$url){
$str = <<<tag
		<div style="margin:0 auto;height:400px; width:500px;">
					<div style="margin-top:50px;text-align:center;height:150px;font:bold 30px 微软雅黑,黑体;color:#E50065;">
						$text
					</div>
					<div style="text-align:center;height:50px;font:bold 16px 微软雅黑,黑体;color:#E50065;">
						$num 秒后跳转到指定页
						<meta http-equiv="Refresh" content="$num;url=$url" />	
					</div>
					<div style="text-align:center;height:150px;font:bold 14px 微软雅黑,黑体;color:#E50065;">
						<a href="$url" >立即跳转</a>	
					</div>
				</div>
	
tag;
	
	return $str;
}

